var CestaVipMenuheader = Class.create(CestaVipMain, {
  initialize: function($super) {
    $super();
    this.idClass=2;		//Class Identifier
    this.cssJson =		'jsonMH';
    this.idCart =		'divCart';
    this.idCartData =		'cart-data';
    this.idCartBtn =		'cart_buttons';
    this.idMiniCart =		'mini-cart';
    this.idMiniCartFull =	'miniCartBody';
    this.idMiniCartEmpty =	'miniCartBodyEmpty';
    this.idSubtotal =		'mini-cart_subtotal-label';
    this.idCartBasket =		'cart_basket';
  },

  /**
   * Construye la pagina con los datos pasados por json previamente
   */
  buildPage: function(generate) {
    // en este punto ya ha cargado los datos de la cesta
        this.htmlGenerate({
          pushData: this.pushHeader
        });
	        //Preparamos la cesta segun si hay o no productos asegurandonos que existe la cesta
        if($(this.idCart) != null){
        	this.checkCartStatus();
        }
        this.stopLoadText();

  },
/**
   * Comprueba si tiene la cesta vacia o no, y configura el modo de visualizacion y la botonera
   */
  checkCartStatus: function () {
    // tiene productos en el carrito, mostramos botones y usamos icono correcto
    if(this.getNumItems() > 0) {
      $(this.idMiniCartEmpty).hide();
      $(this.idMiniCartFull).show();
      if($(this.idMiniCart).hasClassName('empty')){
    	  $(this.idMiniCart).removeClassName('empty');
      }
    }else{
		this.cartCounterReset();
      $(this.idMiniCart).addClassName('empty');
      $(this.idMiniCartFull).hide();
      $(this.idMiniCartEmpty).show();
		if($(this.idNotification) !== null) {
        	this.closeNotify();
        }
    }
    $(this.idMiniCart).stopWaiting();
  },

 /**
   * Devuelve el subtotal de la cesta
   */
  getSubtotal: function () {
    var res = '';
    if(!Object.isUndefined(this.getAjaxData().header_order_data)) {
      res = this.getAjaxData().header_order_data.order_amount;
    }
    return res;
  }, 
 /**
   * Devuelve el numero de items que tiene la cesta
   */
  getNumItems: function () {
    if(!Object.isUndefined(this.getAjaxData().header_order_data)) {
      this.numItems = this.getAjaxData().header_order_data.order_num_items;
    }
    else {
      this.numItems = 0;
    }
    return this.numItems;
  },
	/**
	* Vuelca el Mini-carrito
	* @param {Object} dataJson
	* @param {Object} index
	*/ 
  pushHeader: function(dataJson, index) {
	target = this.getTarget();
	if(target == 'header_order_data') {
		if($(this.idSubtotal) !== null){
			var s_subTotal = this.getSubtotal();
			$(this.idSubtotal).update(s_subTotal);
		}
	}
		// Si el campo del nombre viene vacio, no introducimos ningun espacio
	if(target == 'header_page_data') {
		if(dataJson.member_name !== ''){
			dataJson.member_name = ' ' + dataJson.member_name; 
		}
	}

    //sumo datos a volcar
    this.addBuilt(dataJson);
  },
  //Mostrar cesta al pasar por zona activa
  initViewCart: function(){
 	   //comprobamos si esta abierta, si no la mostramos
 	   if(!this.chartOpen){
 		 this.viewcart();
 	   	} else {
 		   if(this.autoClose != null){
 		   // anulamos el setTimeout, por si estuviera contando
 			window.clearTimeout(this.autoClose);
 		   } else {
 			 // cerramos la cesta
 			 this.viewcart();
 		   }
 	   }
    },
 
  /**
   * Mostrar u ocultar el contenido de la cesta
   */
  viewcart: function() {
    var seg_open = 0.8;
    var seg_close = 0.6;

    // anulamos el setTimeout, por si estuviera contando
   // window.clearTimeout(this.autoClose);

    if(!this.chartOpen) {
      // No esta abierta, la abrimos
      if($(this.idCartBasket)!== null){
        $(this.idCartBasket).slideDown({
          duration: seg_open
        });
      }
      this.chartOpen = true;
    }
    else{
      // cerramos la cesta solo si no estamos anyadiendo producto
      $(this.idCartBasket).slideUp({
        duration: seg_close
      });

      this.chartOpen = false;
    } 
  },
  aboutToDelete: function (div) {
    new Effect.Morph(div, {
      style: 'background:#FFCFCF',
      duration: 0.4
    });
  },
notToDelete: function (div) {
    new Effect.Morph(div, {
      style: 'background:#FFFFFF',
      duration: 0.2
    });
  }
});
